﻿Imports OpenTK.Graphics.OpenGL
Imports OpenTK
Imports Newtonsoft.Json
''' <summary>
''' Clase para el manejo de las comunicaciones con el servidor WEB 
''' o cualquier otro programa que desea comunicarse con este servidor de mapas
''' </summary>
''' <remarks></remarks>
''' JS: Juan Antonio Sanjuan jauanntonios@gmail.com 
Public Class Comunicacion
    Inherits SistogeoICE.CommunicationSistogeoDisp_

    ''' <summary>
    ''' Funcion generica para hacer llamados a funciones de SISTOGEO 
    ''' pasar parametros y retornarlos usando una unica, facil y rapida implementacioin
    ''' usando JSON como formato de codificación de envio y retorno de parametos
    ''' </summary>
    ''' <param name="strFunction">Nombre de la funcion que se desea llamar</param>
    ''' <param name="strObject">Objeto JSON que se envia como parametro</param>
    ''' <param name="current__">Variable interna de ICE</param>
    ''' <returns>Cadena con la representacion del Objeto en formato JSON solicitado en la funcion</returns>
    ''' <remarks>
    ''' Funcion principal que se debe sobreescribir para SISTOGEO en
    ''' su implementacion del ICE
    ''' </remarks>
    Public Overloads Overrides Function requestFunction(ByVal strFunction As String, ByVal strObject As String, ByVal current__ As Ice.Current) As String
        Dim objDatos As DatosMapa = JsonConvert.DeserializeObject(strObject, GetType(DatosMapa))
        frmPrincipal.objDatosMapa = objDatos
        frmPrincipal.strFuncion = strFunction
        Return frmPrincipal.devolverMapa()
    End Function


End Class

